From 6d6a426a2d9761ea60c80239b253177e9bc5db7a Mon Sep 17 00:00:00 2001
From: Rabemanantsoa VonaMpiaro <e45969u@univ-lorraine.fr>
Date: Sun, 20 Apr 2025 23:48:30 +0200
Subject: [PATCH] =?UTF-8?q?R=C3=A9organisation=20du=20dossier=20projet2=20?=
 =?UTF-8?q?et=20ajout=20des=20fichiers?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .idea/.gitignore        |   8 +
 .idea/.name             |   1 +
 .idea/LE PROJET.iml     |   2 +
 .idea/editor.xml        | 580 ++++++++++++++++++++++++++++++++++++++++
 .idea/misc.xml          |   7 +
 .idea/modules.xml       |   8 +
 .vscode/launch.json     |  31 +++
 .vscode/settings.json   |   3 +
 .vscode/task.json       |  18 ++
 AUTRES_PLUS_COMPLEX.txt |   8 +
 PLUS_SIMPLE.txt         |   4 +
 bin/mpm                 | Bin 0 -> 51368 bytes
 include/io.h            |  36 +++
 include/job.h           |   2 +-
 include/list.h          |  54 ++--
 include/rank.h          |   3 -
 makefile                |   4 +-
 readme_temp.md          |   0
 src/io.c                | 184 +++++--------
 src/job.c               | 115 +++++++-
 src/list.c              | 236 +++++++++++++---
 src/main.c              |  34 +++
 src/outils.c            |   1 +
 src/rank.c              |  70 ++++-
 24 files changed, 1213 insertions(+), 196 deletions(-)
 create mode 100644 .idea/.gitignore
 create mode 100644 .idea/.name
 create mode 100644 .idea/LE PROJET.iml
 create mode 100644 .idea/editor.xml
 create mode 100644 .idea/misc.xml
 create mode 100644 .idea/modules.xml
 create mode 100644 .vscode/launch.json
 create mode 100644 .vscode/settings.json
 create mode 100644 .vscode/task.json
 create mode 100644 AUTRES_PLUS_COMPLEX.txt
 create mode 100644 PLUS_SIMPLE.txt
 create mode 100644 bin/mpm
 create mode 100644 include/io.h
 create mode 100644 readme_temp.md
 create mode 100644 src/main.c

diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/.name b/.idea/.name
new file mode 100644
index 0000000..ef1dc9b
--- /dev/null
+++ b/.idea/.name
@@ -0,0 +1 @@
+LE_PROJET___CLION_VER
\ No newline at end of file
diff --git a/.idea/LE PROJET.iml b/.idea/LE PROJET.iml
new file mode 100644
index 0000000..f08604b
--- /dev/null
+++ b/.idea/LE PROJET.iml	
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module classpath="CMake" type="CPP_MODULE" version="4" />
\ No newline at end of file
diff --git a/.idea/editor.xml b/.idea/editor.xml
new file mode 100644
index 0000000..1f0ef49
--- /dev/null
+++ b/.idea/editor.xml
@@ -0,0 +1,580 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="BackendCodeEditorSettings">
+    <option name="/Default/CodeStyle/CodeFormatting/CppClangFormat/EnableClangFormatSupport/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/EditorConfig/EnableClangFormatSupport/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_BINARY_EXPRESSIONS_CHAIN/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_CALLS_CHAIN/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_EXPRESSION/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_FOR_STMT/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTIPLE_DECLARATION/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_TERNARY/@EntryValue" value="ALIGN_ALL" type="string" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BLANK_LINES_AROUND_CLASS_DEFINITION/@EntryValue" value="1" type="int" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/KEEP_BLANK_LINES_IN_DECLARATIONS/@EntryValue" value="2" type="int" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/KEEP_BLANK_LINES_IN_CODE/@EntryValue" value="2" type="int" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/KEEP_USER_LINEBREAKS/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_CASE_FROM_SWITCH/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_COMMENT/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INT_ALIGN_EQ/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SIMPLE_BLOCK_STYLE/@EntryValue" value="DO_NOT_CHANGE" type="string" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_COMMA_IN_TEMPLATE_ARGS/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_COMMA_IN_TEMPLATE_PARAMS/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_FOR_SEMICOLON/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_FOR_SEMICOLON/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_UNARY_OPERATOR/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_ARRAY_ACCESS_BRACKETS/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_CAST_EXPRESSION_PARENTHESES/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_EMPTY_INITIALIZER_BRACES/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_EMPTY_METHOD_PARENTHESES/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_INITIALIZER_BRACES/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPECIAL_ELSE_IF_TREATMENT/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_CAST_EXPRESSION_PARENTHESES/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_AFTER_BINARY_OPSIGN/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_TERNARY_OPSIGNS/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/TYPE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/OTHER_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/CASE_BLOCK_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BLANK_LINES_AROUND_FUNCTION_DECLARATION/@EntryValue" value="1" type="int" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BLANK_LINES_AROUND_FUNCTION_DEFINITION/@EntryValue" value="1" type="int" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/PLACE_WHILE_ON_NEW_LINE/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/PLACE_ELSE_ON_NEW_LINE/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/PLACE_CATCH_ON_NEW_LINE/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/NAMESPACE_INDENTATION/@EntryValue" value="All" type="string" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_ARGUMENT/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_EXTENDS_LIST/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_PARAMETER/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_TYPE_ARGUMENT/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_TYPE_PARAMETER/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BLANK_LINES_AROUND_DECLARATIONS/@EntryValue" value="0" type="int" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_ACCESS_SPECIFIERS_FROM_CLASS/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_CLASS_MEMBERS_FROM_ACCESS_SPECIFIERS/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/LINE_BREAK_AFTER_COLON_IN_MEMBER_INITIALIZER_LISTS/@EntryValue" value="ON_SINGLE_LINE" type="string" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/MEMBER_INITIALIZER_LIST_STYLE/@EntryValue" value="DO_NOT_CHANGE" type="string" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/PLACE_NAMESPACE_DEFINITIONS_ON_SAME_LINE/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_COLON_IN_BITFIELD_DECLARATOR/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_COLON_IN_BITFIELD_DECLARATOR/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_EXTENDS_COLON/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_EXTENDS_COLON/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_FOR_COLON/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_FOR_COLON/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_PTR_IN_DATA_MEMBER/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_PTR_IN_DATA_MEMBERS/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_PTR_IN_METHOD/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_PTR_IN_NESTED_DECLARATOR/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_REF_IN_DATA_MEMBER/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_REF_IN_DATA_MEMBERS/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_REF_IN_METHOD/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_PTR_IN_ABSTRACT_DECL/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_PTR_IN_DATA_MEMBER/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_PTR_IN_DATA_MEMBERS/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_PTR_IN_METHOD/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_REF_IN_ABSTRACT_DECL/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_REF_IN_DATA_MEMBER/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_REF_IN_DATA_MEMBERS/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_REF_IN_METHOD/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_TEMPLATE_ARGS/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_TEMPLATE_PARAMS/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BETWEEN_CLOSING_ANGLE_BRACKETS_IN_TEMPLATE_ARGS/@EntryValue" value="true" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_EMPTY_TEMPLATE_PARAMS/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_TEMPLATE_ARGS/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_TEMPLATE_PARAMS/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_DECLARATION_PARENTHESES/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_EMPTY_BLOCKS/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_INVOCATION_LPAR/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_AFTER_INVOCATION_LPAR/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_INVOCATION_RPAR/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_DECLARATION_LPAR/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_AFTER_DECLARATION_LPAR/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_DECLARATION_RPAR/@EntryValue" value="false" type="bool" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_ARGUMENTS_STYLE/@EntryValue" value="WRAP_IF_LONG" type="string" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_PARAMETERS_STYLE/@EntryValue" value="WRAP_IF_LONG" type="string" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BREAK_TEMPLATE_DECLARATION/@EntryValue" value="LINE_BREAK" type="string" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/NAMESPACE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/FREE_BLOCK_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INVOCABLE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ANONYMOUS_METHOD_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INITIALIZER_BRACES/@EntryValue" value="END_OF_LINE_NO_SPACE" type="string" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_STYLE/@EntryValue" value="Space" type="string" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_SIZE/@EntryValue" value="4" type="int" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/CONTINUOUS_LINE_INDENT/@EntryValue" value="Double" type="string" />
+    <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/TAB_WIDTH/@EntryValue" value="4" type="int" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSmartPointerVsMakeFunction/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCStyleCast/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionalStyleCast/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReinterpretCastFromVoidPtr/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConvertingConstructor/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConversionOperator/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDiscardedPostfixOperatorResult/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstValueFunctionReturnType/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeConst/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeStatic/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMayBeConst/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConst/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVariableCanBeMadeConstexpr/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConstPtrOrRef/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPassValueParameterByConstReference/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppThrowExpressionCanBeReplacedWithRethrow/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroConstantCanBeReplacedWithNullptr/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCompileTimeConstantCanBeReplacedWithBooleanConstant/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIfCanBeReplacedByConstexprIf/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IfStdIsConstantEvaluatedCanBeReplaced/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StdIsConstantEvaluatedWillAlwaysEvaluateToConstant/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=ConstevalIfIsAlwaysConstant/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassCanBeFinal/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStructuredBinding/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseTypeTraitAlias/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAlgorithmWithCount/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseRangeAlgorithm/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseElementsView/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStdSize/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForLoopCanBeReplacedWithWhile/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppJoinDeclarationAndAssignment/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceTieWithStructuredBinding/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceMemsetWithZeroInitialization/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAssociativeContains/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseEraseAlgorithm/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseFamiliarTemplateSyntaxForGenericLambdas/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScope/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScopeInitStatement/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantNamespaceDefinition/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineFunctionDefinitionInHeaderFile/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineVariableDefinitionInHeaderFile/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionIsNotImplemented/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrivateSpecialMemberFunctionIsNotImplemented/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHiddenFunction/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHidingFunction/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPolymorphicClassWithNonVirtualPublicDestructor/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractClassWithoutSpecifier/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompleteSwitchStatement/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultCaseNotHandledInSwitchStatement/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyErroneousEmptyStatements/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExpressionWithoutSideEffects/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNoDiscardExpression/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionResultShouldBeUsed/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingKeywordThrow/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTypeWithoutTypenameKeyword/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTemplateWithoutTemplateKeyword/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppImplicitDefaultConstructorNotAvailable/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeedsConstructorBecauseOfUninitializedMember/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedNonStaticDataMember/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRangeBasedForIncompatibleReference/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroValuedExpressionUsedAsNullPointer/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUnintendedObjectSlicing/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUninitializedMember/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorDisambiguatedAsFunction/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionInFinalClass/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMustBePublicVirtualToImplementInterface/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationSpecifierWithoutDeclarators/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEmptyDeclaration/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesLocal/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesUncapturedLocal/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMismatchedClassTags/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUsingResultOfAssignmentAsCondition/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIntegralToPointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerToIntegralConversion/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompatiblePointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerConversionDropsQualifiers/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStringLiteralToCharPointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExceptionSafeResourceAcquisition/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionCallInsideCtor/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractVirtualFunctionCallInCtor/@EntryIndexedValue" value="ERROR" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInvalidLineContinuation/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfBadFormat/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfRiskyFormat/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfMissedArg/@EntryIndexedValue" value="ERROR" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfExtraArg/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatBadCode/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatLegacyCode/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatMixedArgs/@EntryIndexedValue" value="ERROR" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooFewArgs/@EntryIndexedValue" value="ERROR" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooManyArgs/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedEntity/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingIncludeGuard/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenSyntaxError/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUnresolvedReference/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUndocumentedParameter/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeletingVoidPointer/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBooleanIncrementExpression/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedRegisterStorageClassSpecifier/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIdenticalOperandsInBinaryExpression/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEqualOperandsInBinaryExpression/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedefinitionOfDefaultArgumentInOverrideFunction/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnamedNamespaceInHeaderFile/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNamesMismatch/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultedSpecialMemberFunctionIsImplicitlyDeleted/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNodiscardFunctionWithoutReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantComplexityInComparison/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractFinalClass/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSpecialFunctionWithoutNoexceptSpecification/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnsignedZeroComparison/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterLiteral/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterWideLiteral/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantQualifier/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantAccessSpecifier/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAccessSpecifierWithNoDeclarations/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTypenameKeyword/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateKeyword/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeyword/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeywordInsideCompoundStatement/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantControlFlowJump/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyStatement/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyDeclaration/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantParentheses/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantLambdaParameterList/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantCastExpression/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHeaderHasBeenAlreadyIncluded/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateArgumentsCanBeDeduced/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateArguments/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticSpecifierOnAnonymousNamespaceMember/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnMemberAllocationFunction/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnThreadLocalLocalVariable/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassAccessSpecifier/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantInlineSpecifier/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConstSpecifier/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBooleanExpressionArgument/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantVoidArgumentList/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantMemberInitializer/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassInitializer/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstParameterInDeclaration/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVolatileParameterInDeclaration/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalFunctionInFinalClass/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalNonOverridingVirtualFunction/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElaboratedTypeSpecifier/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantDereferencingAndTakingAddress/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConditionalExpression/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConditionalExpressionCanBeSimplified/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantExportKeyword/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantZeroInitializerInAggregateInitialization/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUserDefinedLiteralSuffixDoesNotStartWithUnderscore/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassIsIncomplete/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterShadowing/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMutableSpecifierOnReferenceMember/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultInitializationWithNoUserConstructor/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExplicitSpecializationInNonNamespaceScope/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnionMemberOfReferenceType/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedDependentBaseClass/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderIsNotIncluded/@EntryIndexedValue" value="ERROR" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderNotFound/@EntryIndexedValue" value="ERROR" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCoroutineCallResolveError/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAwaiterTypeIsNotClass/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppOutParameterMustBeWritten/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWarningDirective/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticAssertFailure/@EntryIndexedValue" value="ERROR" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEvaluationFailure/@EntryIndexedValue" value="ERROR" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTypeAliasNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConceptNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnumeratorNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLambdaCaptureNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableWithNonTrivialDtorIsNeverUsed/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNeverUsed/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterNeverUsed/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityAssignedButNoRead/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityUsedOnlyInUnevaluatedContext/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppObjectMemberMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSomeObjectMembersMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorUsedBeforeInitialization/@EntryIndexedValue" value="ERROR" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnusedIncludeDirective/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNotAllPathsReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CDeclarationWithImplicitIntType/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionDoesntReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReturnNoValueInNonVoidFunction/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCVQualifierCanNotBeAppliedToReference/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDereferenceOperatorLimitExceeded/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForwardEnumDeclarationWithoutUnderlyingType/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaRegionDirective/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaEndRegionDirective/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticDataMemberInUnnamedStruct/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultIsUsedAsIdentifier/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLongFloat/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtReinterpretCastFromNullptr/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtBindingRValueToLvalueReference/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtAddressOfClassRValue/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtDoubleUserConversionInCopyInit/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtCopyElisionInCopyInitDeclarator/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtNotInitializedStaticConstLocalVar/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRemoveRedundantBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceIfStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceForStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceWhileStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceDoStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongIncludesOrder/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongSlashesInIncludeDirective/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceNestedNamespacesStyle/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceTypeAliasCodeStyle/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceFunctionDeclarationStyle/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberInitializersOrder/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingFunctionStyle/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingDestructorStyle/@EntryIndexedValue" value="SUGGESTION" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAuto/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAutoForNumeric/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersPlacement/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersOrder/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnecessaryWhitespace/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTabsAreDisallowed/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantConditions/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANullDereference/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANotInitializedField/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALoopConditionNotUpdated/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFADeletedPointer/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAMemoryLeak/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInvalidatedMemory/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesScope/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesFunction/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantParameter/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantFunctionResult/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAArrayIndexOutOfBounds/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableCode/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableFunctionCall/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAEndlessLoop/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInfiniteRecursion/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnusedValue/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreadVariable/@EntryIndexedValue" value="WARNING" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFATimeOver/@EntryIndexedValue" value="HINT" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInconsistentNaming/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StringLiteralTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CommentTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IdentifierTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSmartPointerVsMakeFunction/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCStyleCast/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionalStyleCast/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReinterpretCastFromVoidPtr/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConvertingConstructor/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConversionOperator/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDiscardedPostfixOperatorResult/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstValueFunctionReturnType/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeConst/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeStatic/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMayBeConst/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConst/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVariableCanBeMadeConstexpr/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConstPtrOrRef/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPassValueParameterByConstReference/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppThrowExpressionCanBeReplacedWithRethrow/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroConstantCanBeReplacedWithNullptr/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCompileTimeConstantCanBeReplacedWithBooleanConstant/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIfCanBeReplacedByConstexprIf/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IfStdIsConstantEvaluatedCanBeReplaced/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StdIsConstantEvaluatedWillAlwaysEvaluateToConstant/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=ConstevalIfIsAlwaysConstant/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassCanBeFinal/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStructuredBinding/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseTypeTraitAlias/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAlgorithmWithCount/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseRangeAlgorithm/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseElementsView/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStdSize/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForLoopCanBeReplacedWithWhile/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppJoinDeclarationAndAssignment/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceTieWithStructuredBinding/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceMemsetWithZeroInitialization/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAssociativeContains/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseEraseAlgorithm/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseFamiliarTemplateSyntaxForGenericLambdas/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScope/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScopeInitStatement/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantNamespaceDefinition/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineFunctionDefinitionInHeaderFile/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineVariableDefinitionInHeaderFile/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionIsNotImplemented/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrivateSpecialMemberFunctionIsNotImplemented/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHiddenFunction/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHidingFunction/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPolymorphicClassWithNonVirtualPublicDestructor/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractClassWithoutSpecifier/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompleteSwitchStatement/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultCaseNotHandledInSwitchStatement/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyErroneousEmptyStatements/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExpressionWithoutSideEffects/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNoDiscardExpression/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionResultShouldBeUsed/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingKeywordThrow/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTypeWithoutTypenameKeyword/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTemplateWithoutTemplateKeyword/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppImplicitDefaultConstructorNotAvailable/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeedsConstructorBecauseOfUninitializedMember/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedNonStaticDataMember/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRangeBasedForIncompatibleReference/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroValuedExpressionUsedAsNullPointer/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUnintendedObjectSlicing/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUninitializedMember/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorDisambiguatedAsFunction/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionInFinalClass/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMustBePublicVirtualToImplementInterface/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationSpecifierWithoutDeclarators/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEmptyDeclaration/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesLocal/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesUncapturedLocal/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMismatchedClassTags/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUsingResultOfAssignmentAsCondition/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIntegralToPointerConversion/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerToIntegralConversion/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompatiblePointerConversion/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerConversionDropsQualifiers/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStringLiteralToCharPointerConversion/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExceptionSafeResourceAcquisition/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionCallInsideCtor/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractVirtualFunctionCallInCtor/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInvalidLineContinuation/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfBadFormat/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfRiskyFormat/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfMissedArg/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfExtraArg/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatBadCode/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatLegacyCode/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatMixedArgs/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooFewArgs/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooManyArgs/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedEntity/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingIncludeGuard/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenSyntaxError/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUnresolvedReference/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUndocumentedParameter/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeletingVoidPointer/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBooleanIncrementExpression/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedRegisterStorageClassSpecifier/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIdenticalOperandsInBinaryExpression/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEqualOperandsInBinaryExpression/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedefinitionOfDefaultArgumentInOverrideFunction/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnamedNamespaceInHeaderFile/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNamesMismatch/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultedSpecialMemberFunctionIsImplicitlyDeleted/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNodiscardFunctionWithoutReturnValue/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantComplexityInComparison/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractFinalClass/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSpecialFunctionWithoutNoexceptSpecification/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnsignedZeroComparison/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterLiteral/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterWideLiteral/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantQualifier/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantAccessSpecifier/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAccessSpecifierWithNoDeclarations/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTypenameKeyword/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateKeyword/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeyword/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeywordInsideCompoundStatement/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantControlFlowJump/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyStatement/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyDeclaration/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantParentheses/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantLambdaParameterList/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantCastExpression/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHeaderHasBeenAlreadyIncluded/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateArgumentsCanBeDeduced/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateArguments/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticSpecifierOnAnonymousNamespaceMember/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnMemberAllocationFunction/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnThreadLocalLocalVariable/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassAccessSpecifier/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantInlineSpecifier/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConstSpecifier/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBooleanExpressionArgument/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantVoidArgumentList/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantMemberInitializer/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassInitializer/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstParameterInDeclaration/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVolatileParameterInDeclaration/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalFunctionInFinalClass/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalNonOverridingVirtualFunction/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElaboratedTypeSpecifier/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantDereferencingAndTakingAddress/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConditionalExpression/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConditionalExpressionCanBeSimplified/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantExportKeyword/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantZeroInitializerInAggregateInitialization/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUserDefinedLiteralSuffixDoesNotStartWithUnderscore/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassIsIncomplete/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterShadowing/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMutableSpecifierOnReferenceMember/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultInitializationWithNoUserConstructor/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExplicitSpecializationInNonNamespaceScope/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnionMemberOfReferenceType/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedDependentBaseClass/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderIsNotIncluded/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderNotFound/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCoroutineCallResolveError/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAwaiterTypeIsNotClass/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppOutParameterMustBeWritten/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWarningDirective/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticAssertFailure/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEvaluationFailure/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorNeverUsed/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTypeAliasNeverUsed/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConceptNeverUsed/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeverUsed/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnumeratorNeverUsed/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLambdaCaptureNeverUsed/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableWithNonTrivialDtorIsNeverUsed/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNeverUsed/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterNeverUsed/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityAssignedButNoRead/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityUsedOnlyInUnevaluatedContext/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMightNotBeInitialized/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppObjectMemberMightNotBeInitialized/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSomeObjectMembersMightNotBeInitialized/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorUsedBeforeInitialization/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnusedIncludeDirective/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNotAllPathsReturnValue/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CDeclarationWithImplicitIntType/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionDoesntReturnValue/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReturnNoValueInNonVoidFunction/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCVQualifierCanNotBeAppliedToReference/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDereferenceOperatorLimitExceeded/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForwardEnumDeclarationWithoutUnderlyingType/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaRegionDirective/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaEndRegionDirective/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticDataMemberInUnnamedStruct/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultIsUsedAsIdentifier/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLongFloat/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtReinterpretCastFromNullptr/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtBindingRValueToLvalueReference/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtAddressOfClassRValue/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtDoubleUserConversionInCopyInit/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtCopyElisionInCopyInitDeclarator/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtNotInitializedStaticConstLocalVar/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRemoveRedundantBraces/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceIfStatementBraces/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceForStatementBraces/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceWhileStatementBraces/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceDoStatementBraces/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongIncludesOrder/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongSlashesInIncludeDirective/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceNestedNamespacesStyle/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceTypeAliasCodeStyle/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceFunctionDeclarationStyle/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberInitializersOrder/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingFunctionStyle/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingDestructorStyle/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAuto/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAutoForNumeric/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersPlacement/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersOrder/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnecessaryWhitespace/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTabsAreDisallowed/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantConditions/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANullDereference/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANotInitializedField/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALoopConditionNotUpdated/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFADeletedPointer/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAMemoryLeak/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInvalidatedMemory/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesScope/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesFunction/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantParameter/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantFunctionResult/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAArrayIndexOutOfBounds/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableCode/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableFunctionCall/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAEndlessLoop/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInfiniteRecursion/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnusedValue/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreadVariable/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFATimeOver/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInconsistentNaming/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StringLiteralTypo/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CommentTypo/@EntryIndexRemoved" />
+    <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IdentifierTypo/@EntryIndexRemoved" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..0b76fe5
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CMakePythonSetting">
+    <option name="pythonIntegrationState" value="YES" />
+  </component>
+  <component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
+</project>
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..69b3fd2
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/LE PROJET.iml" filepath="$PROJECT_DIR$/.idea/LE PROJET.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 0000000..f53ad72
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,31 @@
+{
+  "configurations": [
+		     {
+		       "name": " Make MPM",
+			 "type": "cppdbg",
+			 "request": "launch",
+			 "program": "${fileDirname}/../bin/mpm",
+			 "args": ["data/graph2.dta"],
+			 "stopAtEntry": false,
+			 "cwd": "${fileDirname}",
+			 "environment": [],
+			 "externalConsole": false,
+			 "MIMode": "gdb",
+			 "setupCommands": [
+					   {
+					     "description": "Activer l'impression en mode Pretty pour gdb",
+					       "text": "-enable-pretty-printing",
+					       "ignoreFailures": true
+					       },
+					   {
+					     "description": "Définir la version désassemblage sur Intel",
+					       "text": "-gdb-set disassembly-flavor intel",
+					       "ignoreFailures": true
+					       }
+					   ],
+			 "preLaunchTask": "make: all",
+			 "miDebuggerPath": "/usr/bin/gdb"
+			 },
+		     ],
+    "version": "2.0.0"
+}
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..70e34ec
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+    "C_Cpp.errorSquiggles": "disabled"
+}
\ No newline at end of file
diff --git a/.vscode/task.json b/.vscode/task.json
new file mode 100644
index 0000000..9d02a4f
--- /dev/null
+++ b/.vscode/task.json
@@ -0,0 +1,18 @@
+{
+    "version": "2.0.0",
+    "tasks": [
+      {
+        "label": "make: all",
+        "type": "shell",
+        "command": "make",
+        "args": [
+          "all"
+        ],
+        "group": {
+          "kind": "build",
+          "isDefault": true
+        },
+        "problemMatcher": []
+      }
+    ]
+  }
\ No newline at end of file
diff --git a/AUTRES_PLUS_COMPLEX.txt b/AUTRES_PLUS_COMPLEX.txt
new file mode 100644
index 0000000..0cbc1a6
--- /dev/null
+++ b/AUTRES_PLUS_COMPLEX.txt
@@ -0,0 +1,8 @@
+DS  2   NIL
+DC  4   DS NIL
+PC  4   DC E NIL
+P   5   PC NIL
+E   3   DC DS NIL
+PS  3   DS PC NIL
+PE  1   P NIL
+PM  2   P PS NIL
\ No newline at end of file
diff --git a/PLUS_SIMPLE.txt b/PLUS_SIMPLE.txt
new file mode 100644
index 0000000..125b9b6
--- /dev/null
+++ b/PLUS_SIMPLE.txt
@@ -0,0 +1,4 @@
+DS  2   NIL
+DC  4   DS NIL
+PC  4   DC DS NIL
+P   5   PC NIL
\ No newline at end of file
diff --git a/bin/mpm b/bin/mpm
new file mode 100644
index 0000000000000000000000000000000000000000..dcb0a72307b588d7532bb7d1e9a3fc3d09aa555c
GIT binary patch
literal 51368
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
Oq2~x>p=m(lG5`RD-{}Vc

literal 0
HcmV?d00001

diff --git a/include/io.h b/include/io.h
new file mode 100644
index 0000000..19f9758
--- /dev/null
+++ b/include/io.h
@@ -0,0 +1,36 @@
+/* graph.h
+ *
+ * Header file for graph-related functions.
+ */
+
+ #ifndef GRAPH_H
+ #define GRAPH_H
+ 
+ #include "list.h"    /* Ensure list_t is defined. */
+ 
+ /* If you plan to use this header in a C++ project, uncomment the extern "C" section below. */
+ /*
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ */
+ 
+ /**
+  * @brief Reads a graph from the file specified by filename.
+  *
+  * This function opens the file, reads job names and their relationships,
+  * and builds a graph represented as a list_t.
+  *
+  * @param filename The name of the file to read.
+  * @return Pointer to the constructed list_t (graph) or NULL on failure.
+  */
+ list_t *read_graph(char *filename);
+ 
+ /*
+ #ifdef __cplusplus
+ }
+ #endif
+ */
+ 
+ #endif /* GRAPH_H */
+ 
\ No newline at end of file
diff --git a/include/job.h b/include/job.h
index a3bbc2b..03ae150 100644
--- a/include/job.h
+++ b/include/job.h
@@ -45,4 +45,4 @@ int titleJobCmp(job_t * J1, job_t * J2);
 int iDegreeJobCmp(job_t * J1, job_t * J2);
 int oDegreeJobCmp(job_t * J1, job_t * J2);
 int rangJobCmp(job_t * J1, job_t * J2);
-
+int InverseRangJobCmp(job_t * J1, job_t * J2);
diff --git a/include/list.h b/include/list.h
index f843d10..573e448 100644
--- a/include/list.h
+++ b/include/list.h
@@ -1,33 +1,39 @@
 #pragma once
 
 #include <stdbool.h>
-#include "list_elm.h"
 
-typedef struct list {
-	list_elm_t * head;
-	list_elm_t* tail;
+typedef struct elmlist_t {
+    void * data;
+    struct elmlist_t * pred;
+    struct elmlist_t * suc;
+} elmlist_t;
+
+typedef struct list_t {
+		elmlist_t * head;
+		elmlist_t * tail;
 	int numelm;
 } list_t;
 
-list_t * new_list();
-void del_list ( list_t * * L, void (*ptrf) () );
-bool empty_list ( list_t * L );
-
-list_elm_t * get_head ( list_t * L );
-list_elm_t * get_tail ( list_t * L );
-void view_list ( list_t * L, void (*ptrf)() );
-
+list_t * new_list ();
+void del_list ( list_t ** ptrL , void (* ptrf ) ());
+void clean ( list_t * L);
+bool is_empty ( list_t * L);
+elmlist_t * get_head ( list_t * L);
+elmlist_t * get_tail ( list_t * L);
+int get_numelm ( list_t * L);
+void take_out ( list_t * L, void * D);
 void cons ( list_t * L, void * data );
 void queue ( list_t * L, void * data );
-void ordered_insert ( list_t * L, void * data, int (*cmpFct)() );
-
-int get_numelm(list_t * L);
-
-// void take_out(struct list_t * L, void * D);
-void quick_sort(list_t * L, int (*cmpFct)()); 
-void find(list_t * L, void ** ptrKey, int (*cmpFct)(), void (*delFct)());
-void del_list(list_t ** ptrL, void (*ptrf) ());
-void clean(list_t * L);
-bool is_empty(list_t * L);
-
-	
+void ordered_insert ( list_t * L, void * data , int (*cmp_ptrf )());
+void quick_sort ( list_t * L, int (* cmpFct )());
+void view_list ( list_t * L, void (* ptrf )());
+void find ( list_t * L, void ** ptrKey , int (* cmpFct )() , void (*delFct )());
+//test
+elmlist_t * get_suc(elmlist_t * E);
+elmlist_t * get_pred(elmlist_t * E);
+void * get_data(elmlist_t * E);
+void set_suc(elmlist_t * E, elmlist_t * suc);
+void set_pred(elmlist_t * E, elmlist_t * pred);
+void set_data(elmlist_t * E, void * data);
+elmlist_t * new_list_elm(void * data);
+bool is_in_list(list_t *L, void *key, int (*cmpFct)(void*, void*));
diff --git a/include/rank.h b/include/rank.h
index 9ba383b..cd68a29 100644
--- a/include/rank.h
+++ b/include/rank.h
@@ -1,10 +1,7 @@
 #pragma once
 
 #include "list.h"
-
-
 void ranking(list_t * G);
 void prune(list_t * G);
-
 void marges(list_t * G);
 
diff --git a/makefile b/makefile
index 8d48e77..bfa9884 100644
--- a/makefile
+++ b/makefile
@@ -11,10 +11,10 @@ LFLAGS = -lm
 
 PROG = $(BDIR)/mpm
 
-_DEPS = job.h list.h list_elm.h outils.h #rank.h
+_DEPS = job.h list.h outils.h rank.h
 DEPS = $(patsubst %,$(IDIR)/%,$(_DEPS))
 
-_OBJS = db.o io.o job.o list.o list_elm.o main.o outils.o #rank.o 
+_OBJS = io.o job.o list.o main.o outils.o rank.o 
 OBJS = $(patsubst %,$(ODIR)/%,$(_OBJS))
 
 .PHONY : run all dirs clean delete
diff --git a/readme_temp.md b/readme_temp.md
new file mode 100644
index 0000000..e69de29
diff --git a/src/io.c b/src/io.c
index aafeda6..ba096f4 100644
--- a/src/io.c
+++ b/src/io.c
@@ -1,60 +1,79 @@
-#include "list.h"
-#include "list_elm.h"
 #include "job.h"
 #include "list.h"
-
+#include "outils.h"
+#include "rank.h"
+#include "io.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <assert.h>
 
-list_t * read_graph ( char * filename ) {
-    FILE * fd = fopen ( filename, "rt" );
-    list_t * G = new_list ( );
-    assert ( fd && G );
-    char job_name [ BUFSIZ ];
-
-    while ( !feof ( fd ) ) {
-
-        fscanf ( fd, " %s", job_name);
-        if ( !strcmp (job_name, "NIL" ) ) continue;
-
-        job_t * J = new_job ( job_name );
+list_t * read_graph( char * filename ) {
+    FILE * fd = fopen( filename, "rt" );
+    list_t * G = new_list( );
+    assert( fd && G );
+    char job_name[BUFSIZ];
 
-	/** @note
-	    À l'appel J pointe sur le job que l'on vient de créer.
-	    
-	    FIND retrouve le job J dans la liste G des jobs grâce à la fonction titleJobCmp.
-	    Si ce job n'est pas dans la liste G alors
-	        le job pointé par J est enregistré dans G
-	    Si ce job est déjà dans G alors
-	        le job pointé par J est supprimé grâce à free_job
-		puis le pointeur de J est réassigné sur le job trouvé dans G
-	 */
-	find ( G, ( void ** ) &J, &titleJobCmp, &free_job );
+    while ( !feof( fd ) ) {
 
-	fscanf ( fd, "%lf", &(J->life) );
+        fscanf( fd, " %s", job_name );
+        if ( !strcmp( job_name, "NIL" ) )
+            continue;
+        printf("DEBUG: job_name lire = %s\n", job_name);
 
-	/** @note
-	    Enregistrement des préséances
-	*/
-	job_t * predJ;
-	fscanf( fd, " %s", job_name );
-	while ( strcmp ( job_name, "NIL" ) ) {
-	  predJ = new_job ( job_name );
-    //SOUVIENS SI &TITTLEJOBCMP = &SETJOBTITLE
-	  find ( G, (void **) &predJ, &titleJobCmp, &free_job );
+        job_t * J = new_job( job_name );
 
-	  ordered_insert ( predJ->posteriority, J, &titleJobCmp );
-	  incr_job_oDegree ( predJ );
-
-	  ordered_insert ( J->precedence, predJ, &titleJobCmp );
-	  incr_job_iDegree ( J );
+        /** @note
+            À l'appel J pointe sur le job que l'on vient de créer.
+            
+            FIND retrouve le job J dans la liste G des jobs grâce à la fonction titleJobCmp.
+            Si ce job n'est pas dans la liste G alors
+                le job pointé par J est enregistré dans G
+            Si ce job est déjà dans G alors
+                le job pointé par J est supprimé grâce à free_job
+            puis le pointeur de J est réassigné sur le job trouvé dans G
+         */
+        find( G, ( void ** ) &J, &titleJobCmp, &free_job );
+        //NOUVEAU
+        if( !is_in_list( G, J, (int (*)(void*, void*)) titleJobCmp ) ) {
+            queue( G, J );
+            printf("DEBUG: Inserer %s vers G\n", job_name);
+        } else {
+            printf("DEBUG: Job %s déja existé dans G\n", job_name);
+        }
+        //NOUVEAU
+        fscanf( fd, " %lf", &(J->life) );
 
-	  fscanf ( fd, " %s", job_name );
-	}
-	
-	/** @note valeurs par défaut des autres champs */
+        /** @note
+            Enregistrement des préséances
+         */
+        job_t * predJ;
+        fscanf( fd, " %s", job_name );
+        printf("DEBUG: job_name lire = %s\n", job_name);
+
+        while ( strcmp( job_name, "NIL" ) ) {
+            predJ = new_job( job_name );
+            //SOUVIENS SI &TITTLEJOBCMP = &SETJOBTITLE
+            find( G, (void **) &predJ, &titleJobCmp, &free_job );
+            // NOUVEAU
+            if( !is_in_list( G, predJ, (int (*)(void*, void*)) titleJobCmp ) ) {
+                queue( G, predJ );
+                printf("DEBUG: Inserer pred %s vers G\n", job_name);
+            } else {
+                printf("DEBUG: Pred %s déja existé dans G\n", job_name);
+            }
+            //NOUVEAU
+            ordered_insert( predJ->posteriority, J, &titleJobCmp );
+            incr_job_oDegree( predJ );
+
+            ordered_insert( J->precedence, predJ, &titleJobCmp );
+            incr_job_iDegree( J );
+
+            fscanf( fd, " %s", job_name );
+            printf("DEBUG: job_name lire = %s\n", job_name);
+        }
+        
+        /** @note valeurs par défaut des autres champs */
         J->dyn_input_degree = J->input_degree;
         J->rank = UNDEF;
         J->au_plus_tard = UNDEF;
@@ -63,79 +82,6 @@ list_t * read_graph ( char * filename ) {
         J->critique = false;
     }
 
-    view_list(G,&view_job);
+    view_list( G, &view_job );
     return G;
 }
-
-static void partition(list_t * L, elmlist_t * pivot, list_t * val_inf, list_t * val_sup, int (*cmpFct)(void*, void*)) {
-    for (elmlist_t * cur = L->head; cur != NULL; cur = cur->suc) {
-        if (cmpFct(get_data(cur), get_data(pivot)) < 0)
-            queue(val_inf, get_data(cur));
-        else
-            queue(val_sup, get_data(cur));
-    }
-}
-
-void quick_sort(list_t * L, int (*cmpFct)(void*, void*)) {
-    assert(L && cmpFct);
-
-    if (L->numelm > 1) {
-        //CONFIRMER LE STRUCT
-        struct list_elm_t * pivot = get_head(L);
-        L->head = get_suc(pivot); 
-        pivot->pred = NULL;
-        pivot->suc = NULL;
-
-            
-        /** @note
-         * La listes des données inférieures à pivot
-         * La listes des données supérieures à pivot
-         */
-        list_t * val_inf_pivot = new_list();
-        list_t * val_sup_pivot = new_list();
-
-    /** @note Déplacement des données de L dans val_inf_pivot et val_sup_pivot */
-        partition(L,pivot,val_inf_pivot,val_sup_pivot,cmpFct);
-        
-        /** @note On supprimer les éléments de L sans supprimer ni L ni les jobs */
-        // elmlist_t * S;
-        // for(elmlist_t * E = L->head; E; E = S){
-        //     S = E->suc;
-        //     free(E);
-        // }
-
-        /** @note
-         * Si la partie inf est vide alors L commence par le pivot
-         * Sinon on tri grâce à cmpFct la partie inf puis on ajoute en queue le pivot
-         */
-
-        
-        if (is_empty(val_inf_pivot)) {
-            L->head = pivot;
-            L->tail = pivot;
-            L->numelm = 1;
-        } else {
-            quick_sort(val_inf_pivot, cmpFct);
-            L->head = val_inf_pivot->head;
-            L->tail = val_inf_pivot->tail;
-            L->numelm = val_inf_pivot->numelm;
-            pivot->pred = L->tail;
-            L->tail->suc = pivot;
-            L->tail = pivot;
-            L->numelm += 1;
-        }
-         /** @note
-         * Si la partie sup n'est pas vide alors
-         * On la trie puis on la concatène à la partie inf
-         */
-        if (!is_empty(val_sup_pivot)) {
-            quick_sort(val_sup_pivot, cmpFct);
-            val_sup_pivot->head->pred = pivot;
-            set_suc(pivot, val_sup_pivot->head);
-            L->tail = val_sup_pivot->tail;
-            L->numelm += val_sup_pivot->numelm;
-        }
-        free(val_inf_pivot);
-        free(val_sup_pivot);
-    }
-}
\ No newline at end of file
diff --git a/src/job.c b/src/job.c
index dc5002c..31e9907 100644
--- a/src/job.c
+++ b/src/job.c
@@ -2,8 +2,11 @@
 #include <stdio.h>
 #include <assert.h>
 #include <string.h>
-#include "job.h"
+#include "rank.h"
 #include "list.h"
+#include "job.h"
+#include "outils.h"
+#include "io.h"
 
 job_t * new_empty_job ( ) {
     job_t * J = calloc ( 1, sizeof (job_t ) );
@@ -29,16 +32,17 @@ void free_job(job_t ** ptrJ ) {
     *ptrJ = NULL;
 }
 
+
 void view_job ( job_t * J ) {
-    printf ( "JOB %s\n\tpreceeded by [", get_job_tilte ( J ) );
+    printf ( "JOB %s\n\tpreceeded by [", get_job_title ( J ) );
     for(elmlist_t * E = get_head ( J->precedence ); E; E = get_suc ( E ) ) {
-        printf ( " %s", get_job_tilte ( get_data ( E ) ) );
+        printf ( " %s", get_job_title ( get_data ( E ) ) );
     }
     printf ( " ]\n" );
     // if ( !get_numelm ( J->posteriority ) ) printf ( "\t" );
     printf ( "\tfollowed by [" );
     for(elmlist_t * E = get_head(J->posteriority); E; E = get_suc(E)){
-        printf(" %s", get_job_tilte(get_data(E)));
+        printf(" %s", get_job_title(get_data(E)));
     }
     printf ( " ]\n" );
     printf ( "\tiDeg=%d\toDeg=%d\tlife=%2.2lf", J->input_degree, J->output_degree, J->life );
@@ -53,3 +57,106 @@ void view_job ( job_t * J ) {
     printf ( "\tcritical= " );
     if ( J->critique ) printf("Y\n"); else printf ( "N\n" );
 }
+
+char * get_job_title(job_t * J) {
+    assert(J);
+    return J->title;
+}
+
+int titleJobCmp(job_t * J1, job_t * J2){
+    assert(J1 && J2); 
+    return strcmp(J1->title, J2->title);
+}
+
+void set_job_title(job_t * J, char * title) {
+    assert(J && title);
+    if(J->title)
+        free(J->title);
+    J->title = strdup(title);
+}
+
+
+double get_job_life(job_t * J) {
+    assert(J);
+    return J->life;
+}
+
+
+void set_job_life(job_t * J, double life) {
+    assert(J);
+    J->life = life;
+}
+
+
+int get_job_iDegree(job_t * J) {
+    assert(J);
+    return J->input_degree;
+}
+
+
+void set_job_iDegree(job_t * J, int iDegree) {
+    assert(J);
+    J->input_degree = iDegree;
+}
+
+
+void incr_job_iDegree(job_t * J) {
+    assert(J);
+    J->input_degree++;
+}
+
+
+void decr_job_iDegree(job_t * J) {
+    assert(J);
+    J->input_degree--;
+}
+
+int InverseRangJobCmp(job_t * J1, job_t * J2) {
+    assert(J1 && J2);
+    return J2->rank - J1->rank;
+}
+
+int get_job_oDegree(job_t * J) {
+    assert(J);
+    return J->output_degree;
+}
+
+void set_job_oDegree(job_t * J, int oDegree) {
+    assert(J);
+    J->output_degree = oDegree;
+}
+
+void incr_job_oDegree(job_t * J) {
+    assert(J);
+    J->output_degree++;
+}
+
+void decr_job_oDegree(job_t * J) {
+    assert(J);
+    J->output_degree--;
+}
+
+int get_job_rank(job_t * J) {
+    assert(J);
+    return J->rank;
+}
+
+void set_rank(job_t * J, int rank) {
+    assert(J);
+    J->rank = rank;
+}
+
+int iDegreeJobCmp(job_t * J1, job_t * J2) {
+    assert(J1 && J2);
+    return J1->input_degree - J2->input_degree;
+}
+
+int oDegreeJobCmp(job_t * J1, job_t * J2) {
+    assert(J1 && J2);
+    return J1->output_degree - J2->output_degree;
+}
+
+int rangJobCmp(job_t * J1, job_t * J2) {
+    assert(J1 && J2);
+    return J1->rank - J2->rank;
+}
diff --git a/src/list.c b/src/list.c
index 7032f0b..640f442 100644
--- a/src/list.c
+++ b/src/list.c
@@ -1,9 +1,14 @@
+
+#include <stdio.h>
 #include <stdlib.h>
 #include <assert.h>
+#include "rank.h"
 #include "list.h"
-#include "list_elm.h"
+#include "job.h"
+#include "outils.h"
+#include "io.h"
 
-list_t * new_list() {
+list_t * new_list(void) {
     list_t * L = calloc(1, sizeof(list_t));
     assert(L);
     L->head = NULL;
@@ -12,49 +17,78 @@ list_t * new_list() {
     return L;
 }
 
-void del_list(list_t ** L, void (*ptr_del)(void *)) {
-    assert(L && *L);
-    list_t * list = *L;
-    list_elm_t * E = list->head;
+
+elmlist_t * new_list_elm(void * data) {
+    elmlist_t * E = calloc(1, sizeof(elmlist_t));
+    assert(E);
+    E->data = data;
+    E->pred = NULL;
+    E->suc = NULL;
+    return E;
+}
+
+void del_list(list_t ** ptrL, void (*ptrf)(void *)) {
+    assert(ptrL && *ptrL);
+    list_t * list = *ptrL;
+    elmlist_t * E = list->head;
     while (E) {
-        list_elm_t * temp = E;
-        E = E->suc;
-        if(ptr_del) {
-            ptr_del(temp->data);
+        elmlist_t * temp = E;
+        E = get_suc(temp);
+        if (ptrf) {
+            ptrf(get_data(temp));
         }
         free(temp);
     }
-    free(*L);
-    *L = NULL;
+    free(*ptrL);
+    *ptrL = NULL;
 }
 
-bool empty_list(list_t * L) {
+bool is_empty(list_t * L) {
     assert(L);
     return L->numelm == 0;
 }
 
-list_elm_t * get_head(list_t * L) {
+elmlist_t * get_head(list_t * L) {
     assert(L);
     return L->head;
 }
 
-list_elm_t * get_tail(list_t * L) {
+elmlist_t * get_tail(list_t * L) {
     assert(L);
     return L->tail;
 }
 
+int get_numelm(list_t * L) {
+    assert(L);
+    return L->numelm;
+}
+
 void view_list(list_t * L, void (*ptr_view)(void *)) {
     assert(L && ptr_view);
-    for (list_elm_t * E = L->head; E != NULL; E = get_suc(E)) {
-        ptr_view(E->data);
+    for (elmlist_t * E = L->head; E != NULL; E = get_suc(E)) {
+        ptr_view(get_data(E));
     }
 }
 
+void clean(list_t * L) {
+    assert(L);
+    elmlist_t * curr = L->head;
+    while (curr != NULL) {
+        elmlist_t * temp = curr;
+        curr = get_suc(temp);
+        free(temp);
+    }
+    L->head = NULL;
+    L->tail = NULL;
+    L->numelm = 0;
+}
+
 void cons(list_t * L, void * data) {
-    list_elm_t * E = new_list_elm(data);
-    E->suc = L->head;
+    assert(L);
+    elmlist_t * E = new_list_elm(data);
+    set_suc(E, L->head);
     if (L->head != NULL) {
-        L->head->pred = E;
+        set_pred(L->head, E);
     }
     L->head = E;
     if (L->tail == NULL) {
@@ -64,40 +98,172 @@ void cons(list_t * L, void * data) {
 }
 
 void queue(list_t * L, void * data) {
-    list_elm_t * E = new_list_elm(data);
-    if(empty_list(L)) {
+    assert(L);
+    elmlist_t * E = new_list_elm(data);
+    if (is_empty(L)) {
         L->head = E;
         L->tail = E;
     } else {
-        L->tail->suc = E;
-        E->pred = L->tail;
+        set_suc(L->tail, E);
+        set_pred(E, L->tail);
         L->tail = E;
     }
     L->numelm++;
 }
 
-void insert_after(list_t * L, void * data, list_elm_t * elm) {
-    if(elm == NULL) return;
-    list_elm_t * E = new_list_elm(data);
-    E->suc = elm->suc;
-    E->pred = elm;
-    if(elm->suc != NULL) {
-        elm->suc->pred = E;
+void insert_after(list_t * L, void * data, elmlist_t * elm) {
+    if (elm == NULL) return;
+    elmlist_t * E = new_list_elm(data);
+    set_suc(E, get_suc(elm));
+    set_pred(E, elm);
+    if (get_suc(elm) != NULL) {
+        set_pred(get_suc(elm), E);
     } else {
         L->tail = E;
     }
-    elm->suc = E;
+    set_suc(elm, E);
     L->numelm++;
 }
 
 void ordered_insert(list_t * L, void * data, int (*cmpFct)(void*, void*)) {
-    if(empty_list(L) || cmpFct(L->head->data, data) > 0) {
+    assert(L && cmpFct);
+    if (is_empty(L) || cmpFct(get_data(L->head), data) > 0) {
         cons(L, data);
     } else {
-        list_elm_t * current = L->head;
-        while(get_suc(current) != NULL && cmpFct(get_suc(current)->data, data) <= 0) {
+        elmlist_t * current = L->head;
+        while (get_suc(current) != NULL && cmpFct(get_data(get_suc(current)), data) <= 0) {
             current = get_suc(current);
         }
         insert_after(L, data, current);
     }
 }
+
+void take_out(list_t * L, void * D) {
+    assert(L);
+    elmlist_t * current = L->head;
+    while (current != NULL) {
+        if (get_data(current) == D) {
+            elmlist_t * p = get_pred(current);
+            elmlist_t * s = get_suc(current);
+            if (p) set_suc(p, s);
+            else L->head = s;
+            if (s) set_pred(s, p);
+            else L->tail = p;
+            free(current);
+            L->numelm--;
+            return;
+        }
+        current = get_suc(current);
+    }
+}
+
+static void partition(list_t * L, elmlist_t * pivot, list_t * val_inf, list_t * val_sup, int (*cmpFct)(void*, void*)) {
+    elmlist_t * cur = L->head;
+    while (cur != NULL) {
+        if (cmpFct(get_data(cur), get_data(pivot)) < 0) {
+            queue(val_inf, get_data(cur));
+        } else {
+            queue(val_sup, get_data(cur));
+        }
+        cur = get_suc(cur);
+    }
+}
+
+void quick_sort(list_t * L, int (*cmpFct)(void*, void*)) {
+    assert(L && cmpFct);
+    if (L->numelm <= 1) return;
+
+    elmlist_t * pivot = get_head(L);
+    L->head = get_suc(pivot);
+    set_pred(pivot, NULL);
+    set_suc(pivot, NULL);
+
+    list_t * val_inf_pivot = new_list();
+    list_t * val_sup_pivot = new_list();
+
+    partition(L, pivot, val_inf_pivot, val_sup_pivot, cmpFct);
+
+    clean(L);
+
+    if (is_empty(val_inf_pivot)) {
+        L->head = pivot;
+        L->tail = pivot;
+        L->numelm = 1;
+    } else {
+        quick_sort(val_inf_pivot, cmpFct);
+        L->head = val_inf_pivot->head;
+        L->tail = val_inf_pivot->tail;
+        L->numelm = val_inf_pivot->numelm;
+        set_pred(pivot, L->tail);
+        set_suc(L->tail, pivot);
+        L->tail = pivot;
+        L->numelm++;
+    }
+
+    if (!is_empty(val_sup_pivot)) {
+        quick_sort(val_sup_pivot, cmpFct);
+        set_pred(val_sup_pivot->head, pivot);
+        set_suc(pivot, val_sup_pivot->head);
+        L->tail = val_sup_pivot->tail;
+        L->numelm += val_sup_pivot->numelm;
+    }
+
+    free(val_inf_pivot);
+    free(val_sup_pivot);
+}
+
+void find(list_t * L, void ** ptrKey, int (*cmpFct)(void*, void*), void (*delFct)(void*)) {
+    assert(L && ptrKey && cmpFct);
+    printf("DEBUG (find): trouvant pointer %p\n", *ptrKey);
+    elmlist_t * curr = L->head;
+    while (curr) {
+        if (cmpFct(get_data(curr), *ptrKey) == 0) {
+            printf("DEBUG (find): double trouvée. Element data vers %p\n", get_data(curr));
+            if (delFct) {
+                printf("DEBUG (find): Freeing pointer double %p\n", *ptrKey);
+                delFct(ptrKey);
+            }
+            *ptrKey = get_data(curr);
+            return;
+        }
+        curr = get_suc(curr);
+    }
+    printf("DEBUG (find): pas de double pour le pointer %p\n", *ptrKey);
+}
+
+//PENSER A CHANGER VERS ASSERT
+elmlist_t * get_suc(elmlist_t * E) {
+    if (E == NULL) return NULL;
+    return E->suc;
+}
+elmlist_t * get_pred(elmlist_t * E) {
+    if (E == NULL) return NULL;
+    return E->pred;
+}
+
+void * get_data(elmlist_t * E) {
+    if (E == NULL) return NULL;
+    return E->data;
+}
+
+void set_suc(elmlist_t * E, elmlist_t * suc) {
+    if (E != NULL) E->suc = suc;
+}
+
+void set_pred(elmlist_t * E, elmlist_t * pred) {
+    if (E != NULL) E->pred = pred;
+}
+
+void set_data(elmlist_t * E, void * data) {
+    if (E != NULL) E->data = data;
+}
+
+bool is_in_list(list_t *L, void *key, int (*cmpFct)(void*, void*)) {
+    assert(L && cmpFct);
+    for (elmlist_t *E = L->head; E != NULL; E = E->suc) {
+        if (cmpFct(get_data(E), key) == 0) {
+            return true;
+        }
+    }
+    return false;
+}
\ No newline at end of file
diff --git a/src/main.c b/src/main.c
new file mode 100644
index 0000000..d5d6ae3
--- /dev/null
+++ b/src/main.c
@@ -0,0 +1,34 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "job.h"
+#include "list.h"
+#include "outils.h"
+#include "rank.h"
+#include "io.h"
+
+
+
+int main(int argc, char ** argv){
+    if(argc < 2) exit(-1);
+
+    list_t * G = read_graph(argv[1]);
+    printf("Liste des tâches lue\n");
+    view_list(G, &view_job);
+
+    printf("Liste des tâches triée par degré d'entrée croissant\n");
+    quick_sort(G, &iDegreeJobCmp);
+    view_list(G,&view_job);
+
+    printf("Liste des tâches triée par rang croissant\n");
+    ranking(G);
+    view_list(G,&view_job);
+
+    printf("Prune edges\n");
+    prune(G);
+    view_list(G,&view_job);
+
+    printf("\nMarges totales des tâches\n");
+    marges(G);
+    view_list(G,&view_job);
+    return 0;
+}
diff --git a/src/outils.c b/src/outils.c
index 99f432b..a189458 100644
--- a/src/outils.c
+++ b/src/outils.c
@@ -2,6 +2,7 @@
 
 
 
+
 /** Integer comparaison */
 int int_cmp(int * a, int * b){
 	return *a - *b;
diff --git a/src/rank.c b/src/rank.c
index 1d1438c..48ba481 100644
--- a/src/rank.c
+++ b/src/rank.c
@@ -1,19 +1,73 @@
 #include "rank.h"
-#include "list_1 (1).h"
+#include "list.h"
+#include "job.h"
+#include "outils.h"
+#include "io.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <assert.h>
+#include <stdbool.h>
 
+void ranking(list_t *G) {
+    assert(G);
+    list_t *tachequeue = new_list();
+    int rank = 0;
 
-void ranking(list_t * G){
+    // Enfile toutes les tâches sans prédécesseurs (input_degree = 0)
+    for (elmlist_t *E = get_head(G); E; E = get_suc(E)) {
+        job_t *J = (job_t *)get_data(E);
+        J->dyn_input_degree = J->input_degree;
+        if (J->input_degree == 0) {
+            queue(tachequeue, J);
+        }
+    }
 
-}
-void prune(list_t * G){
-assert(G);
+    // Traiter les tâches à l'aide du tri topologique
+    while (!is_empty(tachequeue)) {
+        list_t *next_level = new_list();
+        for (elmlist_t *E = get_head(tachequeue); E; E = get_suc(E)) {
+            job_t *J = (job_t *)get_data(E);
+            set_rank(J, rank);
 
+            // Mettre à jour les successeurs
+            for (elmlist_t *S = get_head(J->posteriority); S; S = get_suc(S)) {
+                job_t *succ = (job_t *)get_data(S);
+                succ->dyn_input_degree--;
+                if (succ->dyn_input_degree == 0) {
+                    queue(next_level, succ);
+                }
+            }
+        }
+        del_list(&tachequeue, NULL);
+        tachequeue = next_level;
+        rank++;
+    }
+    del_list(&tachequeue, NULL);
 }
 
-void marges(list_t * G){
-assert(G);
+void prune(list_t *G) {
+    assert(G);
+    for (elmlist_t *E = get_head(G); E; E = get_suc(E)) {
+        job_t *J = (job_t *)get_data(E);
+        elmlist_t *S = get_head(J->posteriority);
+        while (S) {
+            job_t *succ = (job_t *)get_data(S);
+            elmlist_t *next_S = get_suc(S);
+
+            // Vérifier les arcs transitifs
+            for (elmlist_t *T = get_head(succ->posteriority); T; T = get_suc(T)) {
+                job_t *trans = (job_t *)get_data(T);
+                if (is_in_list(J->posteriority, trans, (int (*)(void*, void*))titleJobCmp)) {
+                    printf("arc inutile effacée: %s -> %s\n", J->title, succ->title);
+                    take_out(J->posteriority, succ);
+                    decr_job_oDegree(J);
+                    take_out(succ->precedence, J);
+                    decr_job_iDegree(succ);
+                    break;
+                }
+            }
+            S = next_S;
+        }
+    }
+}
 
-}
\ No newline at end of file
-- 
GitLab